1. Input_data

ソースコード及びcsvデータのpathの設定

options(encoding="UTF-8")
setwd(source_path)
source("input_parameter.R")
source("input_csv_from_ANTAM.R")
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:data.table':
## 
##     between, first, last
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
data_path <- "/Users/yuki/OneDrive - cc.kyoto-su.ac.jp/M2/Experiment_data/R_study_testdata"
setwd(data_path)


# Get File List
# csvデータのファイルの取得
fl <- list.files(data_path,recursive=T, include.dirs=T, pattern="mouse.*csv")
dt <- get.datatable(fl)
##    user  system elapsed 
##       0       0       0 
##    user  system elapsed 
##   0.800   0.074   0.721 
##    user  system elapsed 
##   1.687   0.136   1.501 
##    user  system elapsed 
##   2.566   0.216   2.277 
##    user  system elapsed 
##   3.381   0.259   2.949 
##    user  system elapsed 
##   4.247   0.323   3.690 
##    user  system elapsed 
##   5.167   0.387   4.486 
##    user  system elapsed 
##   6.235   0.480   5.452 
##    user  system elapsed 
##   7.009   0.531   6.080 
##    user  system elapsed 
##   7.850   0.587   6.780 
##    user  system elapsed 
##   8.581   0.620   7.350 
##    user  system elapsed 
##   9.490   0.671   8.117 
##    user  system elapsed 
##  10.246   0.709   8.709 
##    user  system elapsed 
##  11.029   0.763   9.349 
##    user  system elapsed 
##  11.843   0.813  10.021 
##    user  system elapsed 
##  12.699   0.861  10.724 
##    user  system elapsed 
##  13.485   0.901  11.359 
##    user  system elapsed 
##  14.277   0.951  11.999 
##    user  system elapsed 
##  15.108   1.007  12.688 
##    user  system elapsed 
##  16.091   1.058  13.545 
##    user  system elapsed 
##  16.911   1.111  14.256 
##    user  system elapsed 
##  17.785   1.174  14.992 
##    user  system elapsed 
##  18.649   1.236  15.719 
##    user  system elapsed 
##  19.448   1.284  16.368 
##    user  system elapsed 
##  20.258   1.350  17.038 
##    user  system elapsed 
##  21.115   1.410  17.753 
##    user  system elapsed 
##  21.982   1.465  18.470 
##    user  system elapsed 
##  22.747   1.507  19.087 
##    user  system elapsed 
##  23.540   1.569  19.741 
##    user  system elapsed 
##  24.317   1.608  20.360 
##    user  system elapsed 
##  25.115   1.658  21.009 
##    user  system elapsed 
##  25.958   1.699  21.691 
##    user  system elapsed 
##  26.907   1.778  22.513 
##    user  system elapsed 
##  27.805   1.859  23.303 
##    user  system elapsed 
##  28.623   1.907  24.021 
##    user  system elapsed 
##  29.481   1.976  24.769 
##    user  system elapsed 
##  30.332   2.048  25.503 
##    user  system elapsed 
##  31.299   2.104  26.331 
##    user  system elapsed 
##  32.226   2.174  27.137 
##    user  system elapsed 
##  33.230   2.263  28.042 
##    user  system elapsed 
##  34.156   2.315  28.832 
##    user  system elapsed 
##  35.059   2.379  29.612 
##    user  system elapsed 
##  35.909   2.425  30.322 
##    user  system elapsed 
##  36.838   2.500  31.125 
##    user  system elapsed 
##  37.825   2.589  32.008
path.unique <- as.character(unique(dt$path))
cond.unique <- c(list.files(data_path))
n <- length(unique(dt$id))
uid <- unique(dt$id)
# u.ind.id <- length(path.unique) / length(cond.unique) # 個体Noを割り振るための変数

2. Plot velocity histgram

取得した実験データから移動速度のヒストグラムを生成

setwd(source_path)
source("velocity_histgram.R")
## Scale for 'x' is already present. Adding another scale for 'x', which
## will replace the existing scale.
## Warning: Removed 296 rows containing non-finite values (stat_bin).
## Warning: Removed 2 rows containing missing values (geom_bar).

thresh <- 0 # get.thre() / 5 # 移動,停止の閾値を設ける場合,設定

4. Plot comparison each data

実験条件ごとにラベル分け

stop.ratio <- c()
condition <- c()
meanv <- c()
nega <- c()
ind.id  <- c()
trajectory_xy_max <- c()
num <- c()
for (i in 1:n) {
 subd <- subset(dt, id == as.numeric(uid[i]))
 num <- i

 condition
 for (j in 1:length(cond.unique)) {
   if (length(grep(cond.unique[j], subd$path)) > 0)
     condition[i] <- cond.unique[j]
  }
 
 # for(i in 1:length(cond.unique)){
 #   for(j in 1:length(u.ind.id)){
 #     ind.id <- j
 #   }
 # }

 #velovity & stop raio
 dx <- diff(subd$x.V1)
 dy <- diff(subd$y.V1)
 v <- sqrt(dx ^ 2 + dy ^ 2)
 stop.ratio[i] <- length(which(v < thresh)) / length(v)
 meanv[i] <- mean(v[v > thresh])*5

 # minmax for trajectory
 abs_4points_xy <- c(abs(min(subd$x.V1)), abs(min(subd$y.V1)), abs(max(subd$x.V1)), abs(max(subd$y.V1)))
 trajectory_xy_max[i] <- max(abs_4points_xy)
}

#5. 実験データの前処理

# 全条件をまとめたデータ
result <- data.frame(condition = condition, meanv = meanv, stop = stop.ratio, trajectory_xy_max = trajectory_xy_max,num = num)

#6.平均とSEをプロット

source("plot_graph.R")
plot.graph(result,result$meanv,"Velocity(mm/s)","conditions",20)

# plot.bar.All(result,result$meanv,"Velocity(mm/s)","conditions",cond.unique)

軌跡の導出

source('Trajectory.R')
plot_trajectory(result,dt)